CommonUtils.regNamespace("com.im.test");

com.im.test.invoke = function() {

	var defaultUrl;
    var client = new com.im.common.ajax();
    var tmpfiles;//文件上传下载



    function _callBackOrg(objId, objName){
        toastr.info('这是回调函数里面的内容，您选择的对象是：'+objId+"-----"+objName);
    }

    function _init(){

        /**
         * 组织加载示例1
         */
        $("#orgBtn").click(function() {
            $("#unitOut").unitCommpent({
                elmId: "unitTree",//组织树显示的<ul>元素id
                elmIdOut: "unitOut",//组织树单击之后回填的文本框（input）
                hasOrgType: true,//组织树是否先展示组织类型
                treeOnClick: function (orgId, orgName) {//组织树单击之后回调函数
                    _callBackOrg(orgId, orgName);
                }
            });
        });

        /**
         * 组织加载示例2
         */
        $("#orgBtn1").click(function() {
            $("#unitOut").unitSearchCommpent({
                elmIdOut : "unitOut1",//组织树单击之后回填的文本框（input）
                elmIdModal : "unitSearchModal",
                hasOrgType: true,//组织树是否先展示组织类型
                callbackFunc: function (orgId, orgName) {//组织树单击之后回调函数
                    _callBackOrg(orgId, orgName);
                }
            });
        });
        /**
         * 用户加载示例1
         */
        $("#userBtn").click(function() {
            $("#userOut").userSearchCommpent({
                elmIdOut : "userOut",//组织树单击之后回填的文本框（input）
                elmIdModal : "userSearchModal",//用户选择
                elmIdOrgModal : "unitSearchModal1",//组织查询
                callbackFunc: function (staffId, staffName, mobilePhone) {//组织树单击之后回调函数
                    _callBackOrg(staffId, staffName, mobilePhone);
                }
            });
        });
        /**
         * 工程加载示例1
         */
        $("#projectBtn").click(function() {
            $("#projectBtn").projectSearchCommpent({
                elmIdOut : "projuectOut",//组织树单击之后回填的文本框（input）
                elmIdModal : "projectSearchModal",//用户选择
                elmIdOrgModal : "unitSearchModal2",//组织查询
                callbackFunc: function (projectId, projectName) {//组织树单击之后回调函数
                    _callBackOrg(projectId, projectName);
                }
            });
        });
        /**
         * 项目加载示例1
         */
        $("#itemBtn").click(function() {
            $("#itemBtn").itemSearchCommpent({
                elmIdOut : "itemOut",//组织树单击之后回填的文本框（input）
                elmIdModal : "itemSearchModal",//用户选择
                elmIdOrgModal : "unitSearchModal3",//组织查询
                callbackFunc: function (projectId, projectName) {//组织树单击之后回调函数
                    _callBackOrg(projectId, projectName);
                }
            });
        });
        /**
         * 常量加载示例1
         */
        $("#constantBtn").click(function() {
            $("#constantBtn").constantCommpent({
                elmIdSel : "constantSel",//需要展示的位置下拉框
                constParamCode : "PLAN_PROJ_CLASS",//需要加载的常量编码
                callbackFunc: function (objvalue, objname) {//下拉框值改变时回调
                    _callBackOrg(objvalue, objname);
                }
            });
        });

        /**
         * 文件上传下载示例1
         */

        _initFile();
        $("#fileBtn").click(function () {
            client.callAsFile(tmpfiles.newly, function(result) {
                if(result.success){
                    //返回数据示例(单个文件，若多个文件result有对应的多个结果)
                    // {
                    //     "result" : [
                    //     {
                    //         "attachAbsolutePath" : "/01software/tomcat/apache-tomcat-7.0-1.37/bin/C:/file/uploadfiles/58a54726-30de-44ff-94be-cbefd05fee2d.xlsx",
                    //         "attachFullName" : "电信集团TeleUDAL+TeleDB产品分析初稿V0.2.xlsx",
                    //         "attachName" : "电信集团TeleUDAL+TeleDB产品分析初稿V0",
                    //         "attachPath" : "58a54726-30de-44ff-94be-cbefd05fee2d.xlsx",
                    //         "attachSize" : 40214,
                    //         "attachSuffix" : "xlsx",
                    //         "remark" : "upload success.",
                    //         "uploadDt" : "2018-04-28 14:38:26",
                    //         "uploadStatus" : "0"
                    //     }
                    // ],
                    //     "resultCode" : "0",
                    //     "resultMsg" : "成功"
                    // }

                    $("#fileOut").val(result.result[0].attachPath);
                    $("#fileOut").attr('fullName',result.result[0].attachFullName);
                    toastr.info('文件上传成功！');
                }else{
                    toastr.error('文件上传失败！');
                }
            });
        });
        /**
         * 文件上传下载示例2
         */
        var filename = '58a54726-30de-44ff-94be-cbefd05fee2d.xlsx';
        $("#fileDownBtn").click(function () {
            var attachPath =   $("#fileOut").val();
            if(attachPath == undefined || attachPath == ''){
                toastr.info('请先上传文件！');
                return false;
            }
            var attachFullName = $("#fileOut").attr('fullName');
            window.open('/FileManageWeb/fileController/downloadFile?fileName='
                    + attachPath +'&realName='+attachFullName, '_blank');
        });

        /**
         * 组织下拉框加载示例1
         */
        $("#unitSelBtn").click(function() {
            $("#unitSelBtn").unitselCommpent({
                elmIdSel : "unitSel",//需要展示的位置下拉框
                unitType : "10",//单位类型 为空的时候全部查询
                defaultContent : false ,//组织下拉框默认显示文本，true全部 false请选择
                callbackFunc: function (objvalue, objname) {//下拉框值改变时回调
                    _callBackOrg(objvalue, objname);
                }
            });
        });
        /**
         * 组织下拉框加载示例1
         */
        $("#unitSelBtn1").click(function() {
            $("#unitSelBtn1").unittypeToSelCommpent({
                elmIdTypeSel : "unitTypeSel",//需要展示的位置下拉框
                elmIdSel : "unitSel2",//需要展示的位置下拉框
                callbackFunc: function (objvalue, objname) {//下拉框值改变时回调
                    _callBackOrg(objvalue, objname);
                }
            });
        });
        /**
         * 组织下拉框加载示例1
         */
        $("#projectBtn2").click(function() {
            $("#projectBtn2").project2unit2itemCommpent({
                //elmIdProjectSel : "projectSel",//规划工程下拉元素
                elmIdPlanTypeSel : "planTypeSel",
                elmIdUnitSel : "unitSel3",//组织单位下拉元素
                elmIdItemSel : "itemSel",//实施项目下拉元素
                orgType : "",//初始化单位时，单位类型
                callbackFunc: function (callBackType, ret) {//下拉框值改变时回调
                    //_callBackOrg(objvalue, objname);
                    //callBackType : 1 所属规划值变更 2单位值变更  3项目名称变更
                    //ret: orgId,orgName,impleProjId,impleProjName,planProjClass,planProjClassName
                    toastr.info('这是回调函数里面的内容，您选择的对象是：'+callBackType+"-----"+JSON.stringify(ret));
                }
            });
        });
        /**
         * 组织下拉框加载示例1
         */
        $("#projectBtn3").click(function() {
            $("#projectBtn3").plan2unit2projectCommpent({
                elmIdProjectSel : "projectSel",//规划工程下拉元素
                elmIdPlanTypeSel : "planTypeSel1",
                elmIdUnitSel : "unitSel4",//组织单位下拉元素
                //elmIdItemSel : "itemSel",//实施项目下拉元素
                orgType : "",//初始化单位时，单位类型
                callbackFunc: function (callBackType, ret) {//下拉框值改变时回调
                    //_callBackOrg(objvalue, objname);
                    //callBackType : 1 所属规划值变更 2单位值变更  3项目名称变更
                    //ret: orgId,orgName,planProjClass,planProjClassName,planProjId,planProjName
                    toastr.info('这是回调函数里面的内容，您选择的对象是：'+callBackType+"-----"+JSON.stringify(ret));
                }
            });
        });
        /**
         * 组织下拉框加载示例1
         */
        $("#userBtn1").click(function() {
            $("#userBtn1").userSearchMutilCommpent({
                elmIdModal : "userSearchModal1",//用户查询模态框
                elmIdOut : "userOut1",//确认时文本回填
                multiCheck : true,//false单选 true多选
                checkList : [],//已经选择的用户列表，用户取消或者删除选择[{staffId : 1,staffName : 2}]
                callbackFunc: function(objlist) {
                    //单选，objlist.length = 0 or 1
                    //多选，objlist.length > 0
                    //staffId,staffName等属性
                    toastr.info('这是回调函数里面的内容，您选择的对象是："-----"'+JSON.stringify(objlist));
                }
            });
        });
        
        $("#projectBtn4").click(function () {
            $("#projectBtn4").plan2unit2project2itemCommpent({
                elmIdProjectSel : "projectSel1",//规划工程下拉元素
                elmIdPlanTypeSel : "planTypeSel2",
                elmIdUnitSel : "unitSel5",//组织单位下拉元素
                elmIdItemSel : "itemSel1",//实施项目下拉元素
                orgType : "",//初始化单位时，单位类型
                callbackFunc: function (callBackType, ret) {//下拉框值改变时回调
                    //_callBackOrg(objvalue, objname);
                    //callBackType : 1 所属规划值变更 2单位值变更  3项目名称变更
                    //ret: orgId,orgName,planProjClass,planProjClassName,planProjId,planProjName
                    toastr.info('这是回调函数里面的内容，您选择的对象是：'+callBackType+"-----"+JSON.stringify(ret));
                }
            });
        });

        initUpload("excelFile", "/InfoManageWeb/commonService/importExcel");

    };
    /**
     * 数据导出示例
     */
    $("#exportBtn").click(function() {
    	/**
    	 * title:要导入的数据和标题
    	 * param:查询列表的json入参 smo方法要是一个JSON数据的String的入参
    	 */
    	var param = {
    		    "classes": "com.im.service.projectInfo.smo.ProjectInfoQuerySMOImpl",
    		    "fileName": "规划工程列表",
    		    "method": "queryPlanProjList",
    		    "title": {
    		        "planProjName":"工程名称",
    		        "planProjClassName": "所属规划",
    		        "developOrgName": "建设单位",
    		        "startDt": "开工年$建设年限",
    		        "endDt": "完工年$建设年限",
    		        "leadingPersonName": "工程负责人",
    		        "linkmanName": "工程联系人",
    		        "description": "主要建设内容",
    		        "total": "合计$阶段资金构成（单位：万元）",
    		        "fundSourceBu": "部补助$阶段资金构成（单位：万元）",
    		        "fundSourceSheng": "省财政$阶段资金构成（单位：万元）",
    		        "fundSourceGao": "政府融资$阶段资金构成（单位：万元）",
    		        "fundSourceShi": "市州配套$阶段资金构成（单位：万元）",
    		        "fundSourceQi": "企业自筹$阶段资金构成（单位：万元）",
    		        "statusName": "状态"
    		    }
    		};
    	param.param={};
    	var url='/InfoManageWeb/commonService/export?json='+encodeURI(JSON.stringify(param));
    	window.open(url, '_blank');

    });
    function _initFile() {
        var file = new com.im.common.file();
        tmpfiles = file.activate(1);
        //调整样式
        $("#common_file_src").css({"margin-left":"26.6%", "margin-right":"26.6%"});
        $("#upFile").before($("#common_file_src"));
    }


    //导入excel
    function initUpload(ctrlName, uploadUrl) {
        var control = $('#' + ctrlName);
        control.fileinput({
            language: 'zh', //设置语言
            uploadUrl: uploadUrl, //上传的地址
            uploadAsync: true, //默认异步上传
            showCaption: true,//是否显示标题
            showUpload: true, //是否显示上传按钮
            browseClass: "btn btn-primary", //按钮样式
            allowedFileExtensions: ["xls", "xlsx"], //接收的文件后缀
            maxFileCount: 1,//最大上传文件数限制
            previewFileIcon: '<i class="glyphicon glyphicon-file"></i>',
            showPreview: false, //是否显示预览
            previewFileIconSettings: {
                'docx': '<i ass="fa fa-file-word-o text-primary"></i>',
                'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',
                'xls': '<i class="fa fa-file-excel-o text-success"></i>',
                'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
                'jpg': '<i class="fa fa-file-photo-o text-warning"></i>',
                'pdf': '<i class="fa fa-file-archive-o text-muted"></i>',
                'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
            },
            uploadExtraData: function () {
                //1,合同
                //2,采购计划
                //3,实施项目_文档信息
                //4,实施项目
                //5,招投标项目
                //6,规划项目
                return {"excelType": 1};
            }
        });
    }
    $("#excelFile").on("fileuploaded", function (event, data, previewId, index) {
        //console.log(data);
        if(data.response.resultCode == 0)
        {
            alert(data.files[index].name + "上传成功!");
            //关闭
            $(".close").click();
        }
        else{
            alert(data.files[index].name + "上传失败!" + data.response.resultMsg);
            //重置
            $("#excelFile").fileinput("clear");
            $("#excelFile").fileinput("reset");
            $('#excelFile').fileinput('refresh');
            $('#excelFile').fileinput('enable');
        }
    });
    
//    时间插件
    $('#yearDt').datepicker({
        startView: 'decade',
        minView: 'decade',
        format: 'yyyy',
        maxViewMode: 2,
        minViewMode:2,
        autoclose: true
    });
    $('#yearMDt').datepicker({
    	todayHighlight:true,
    	todayBtn: 'linked',
    	keyboardNavigation:true,
    	autoclose:true,
    	language:'zh-CN',
    	format:'yyyy-mm-dd'
    });

	return {
		init : _init
	}
}();

$(function() {
	com.im.test.invoke.init();
});